home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / misc / emu / Apex-src.lha / XSEND.XPL < prev   
Text File  |  2001-09-30  |  1KB  |  70 lines

  1. \XSEND.XPL    DEC-05-89
  2. \Program to send either a text or binary file using the XMODEM device.
  3.  
  4. \REVISION HISTORY:
  5. \FEB-24-86, V1.0, Original.
  6. \APR-24-89, Insert line feeds (let the receiving computer decide if it
  7. \    wants to strip them out or not).
  8. \DEC-05-89, V2.0, Add option to send binary.
  9.  
  10. code    CHIN=7,        CHOUT=8,    CRLF=9,        TEXT=12,
  11.     OPENI=13,    OPENO=14,    CLOSE=15;
  12.  
  13. def    LF= $0A, CR= $0D, EOF= $1A;
  14.  
  15.  
  16.  
  17. proc    SENDBIN;    \Send binary file
  18. int    LOC,
  19.     INLBLK,
  20.     INHBLK,
  21.     I, J;
  22. begin
  23. LOC:= $0562;        \Location in SYSPAG
  24. INLBLK:= LOC(0);
  25. INHBLK:= LOC(1);
  26.  
  27. TEXT(0, "SENDING...");
  28.  
  29. OPENI(3);
  30. OPENO(5);
  31. for I:= INLBLK, INHBLK do
  32.     begin
  33.     for J:= 0, 255 do
  34.         CHOUT(5, CHIN(3));
  35.     CHOUT(0, ^.);    \Display a dot for each block sent
  36.     end;
  37. CLOSE(5);        \Send an EOT and unfortunately an EOF
  38. end;    \SENDBIN
  39.  
  40.  
  41.  
  42. proc    SENDTEXT;    \Send text file
  43. int    CH;
  44. begin
  45. OPENI(3);
  46. OPENO(5);
  47. loop    begin
  48.     repeat CH:= CHIN(3) until CH #LF;    \Handle the line-feed problem
  49.     if CH =EOF then quit;
  50.     CHOUT(5, CH);
  51.     CHOUT(0, CH);
  52.     if CH =CR then CHOUT(5, LF);        \Follow CR with a LF
  53.     end;
  54. CLOSE(5);        \Send an EOT and an EOF
  55. end;    \SENDTEXT
  56.  
  57.  
  58.  
  59. begin    \MAIN
  60. TEXT(0, "-- XMODEM FILE SENDER, V2.0 --
  61.  
  62. SEND TEXT OR BINARY FILE (T/B)? ");
  63.  
  64. if (CHIN(0)!$20) =^b then SENDBIN else SENDTEXT;
  65. end;    \MAIN
  66. M FILE SENDER, V2.0 --
  67.  
  68. SEND TEXT OR BINARY FILE (T/B)? ");
  69.  
  70. if (CHIN(0)!$20) =^b then SENDBIN else SEN